From a63d6b564b7a8a3611b90fc7faf28096b80cdad9 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Thu, 26 Apr 2007 06:23:36 +0000 Subject: [PATCH] Remove old child of scrolled window before adding a new one when switching 2007-04-26 Tor Lillqvist * gtk/gtkinputdialog.c (gtk_input_dialog_fill_axes) (gtk_input_dialog_fill_keys): Remove old child of scrolled window before adding a new one when switching what input device is being handled. (#399425) svn path=/trunk/; revision=17656 --- ChangeLog | 7 +++++++ gtk/gtkinputdialog.c | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1ee80d9aca..2e9da6e8a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-04-26 Tor Lillqvist + + * gtk/gtkinputdialog.c (gtk_input_dialog_fill_axes) + (gtk_input_dialog_fill_keys): Remove old child of scrolled window + before adding a new one when switching what input device is being + handled. (#399425) + 2007-04-26 Matthias Clasen * modules/printbackends/lpr/gtkprintbackendlpr.c diff --git a/gtk/gtkinputdialog.c b/gtk/gtkinputdialog.c index c78a454a1d..48f9c6090c 100644 --- a/gtk/gtkinputdialog.c +++ b/gtk/gtkinputdialog.c @@ -532,6 +532,7 @@ gtk_input_dialog_fill_axes(GtkInputDialog *inputd, GdkDevice *info) GtkWidget *option_menu; GtkWidget *label; GtkWidget *viewport; + GtkWidget *old_child; /* remove all the old items */ if (inputd->axis_list) @@ -544,6 +545,9 @@ gtk_input_dialog_fill_axes(GtkInputDialog *inputd, GdkDevice *info) gtk_table_set_col_spacings (GTK_TABLE (inputd->axis_list), 12); viewport = gtk_viewport_new (NULL, NULL); + old_child = gtk_bin_get_child (GTK_BIN (inputd->axis_listbox)); + if (old_child != NULL) + gtk_widget_destroy (old_child); gtk_container_add (GTK_CONTAINER (inputd->axis_listbox), viewport); gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE); gtk_widget_show (viewport); @@ -680,6 +684,7 @@ gtk_input_dialog_fill_keys(GtkInputDialog *inputd, GdkDevice *info) GtkWidget *button; GtkWidget *hbox; GtkWidget *viewport; + GtkWidget *old_child; char buffer[32]; @@ -695,6 +700,9 @@ gtk_input_dialog_fill_keys(GtkInputDialog *inputd, GdkDevice *info) gtk_table_set_col_spacings (GTK_TABLE (inputd->keys_list), 12); viewport = gtk_viewport_new (NULL, NULL); + old_child = gtk_bin_get_child (GTK_BIN (inputd->keys_listbox)); + if (old_child != NULL) + gtk_widget_destroy (old_child); gtk_container_add (GTK_CONTAINER (inputd->keys_listbox), viewport); gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE); gtk_widget_show (viewport); -- 2.30.2